import {defineStore} from "pinia";

const useDictStore = defineStore('dict', {
    // 为了完整类型推理，推荐使用箭头函数
    state: () => ({
        dict: []
    }),
    actions: {
        // 获取字典
        getDict(_key){
            if(_key == null && _key === ''){
                return null;
            }
            try {
                for (let i = 0; i < this.dict.length; i++) {
                    if(this.dict[i].key === _key){
                        return this.dict[i].value
                    }
                }
            }catch(err){
                return null;
            }
        },
        // 设置字典
        setDict(_key,value){
            if(_key !== null && _key !== ''){
                this.dict.push({
                    key:_key,
                    value:value
                })
            }
        },
        // 删除字典
        removeDict(_key){
            var result = false;
            try {
                for (let i = 0; i < this.dict.length; i++) {
                    if(this.dict[i].key === _key){
                        this.dict.splice(i,1);
                        return true;
                    }
                }
            }catch (err){
                result = false;
            }
            return result;
        },
        // 清空字典
        clearDict(){
            this.dict = [];
        },
        // 初始化字典
        initDict(){
            this.clearDict();
        }
    }
})

export default useDictStore
